package RDD

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
import org.junit.Test

class RDD的创建方式 {
  val conf = new SparkConf()
    .setMaster("local[6]")
    .setAppName("Create_RDD")
  val sc = new SparkContext(conf)
  @Test
  def rddCreateLocal(): Unit ={
    //本地集合创建
    //使用Seq创建RDD并且设置俩个分区
    val seq = Seq("Hello","Hi","NiHao")
    val rdd1: RDD[String] =  sc.parallelize(seq,2)
    //使用makeRDD创建
    val rdd2 = sc.makeRDD(seq,2)
    //俩者的区别，makeRDD必须要指定分区数
  }
  @Test
  def rddCreatOuter(): Unit ={
    //从文件创建
    //传入文件路径
    val rdd1: RDD[String] = sc.textFile("D:\\SP\\Soft")
  }
  @Test
  def rddCreateFromRDD(): Unit ={
    //从RDD衍生
    val rdd1: RDD[Int] = sc.parallelize(Seq(1,2,3))
    //通过RDD衍生
    val rdd2: RDD[Int] = rdd1.map(item=>item)
  }
}
